Arduino - Lendo Tecla Controlando Led 2

Projeto 02 - Lendo Tecla Controlando Led

Neste projeto iremos ler uma tecla. Se ela estiver pressionada faremos acender o led bultin e se a tecla estiver solta apagaremos o led.

O intuito deste projeto é ler uma tecla e controlar algo dependendo do valor desta leitura.

Utilizei uma tecla de contato momentâneo mas se você só tiver uma tecla normal pode usar sem problemas.
O resistor pode ser qualquer um entre 1k e 100k.


Esquema :


Programa :
/*
Projeto 02 - LeTeclaControlaLed

O Objetivo deste projeto é ler uma tecla que ao ser pressionado acende o led
    e ao soltamos a tecla o led apaga

Para este projeto você precisará de um resistor de 1K e uma tecla Normalmente aberta.

Temos uma tecla instalada na Porta D0 ligada da seguinte maneira :
    O resistor deve estar ligado entre VCC(+5V) e o pino D0
    A chave deve estar ligada ao Pino D0 e a terra.
Veja no esquema como conectar

Portanto ao medir LOW no pino D0 significa que estamos pressionando a tecla
          Se medirmos HIGH significa que a tecla esta solta.

Além da tecla usaremos o led builtin do arduino para acender ou apagar pelo comando dessa tecla.

Portanto, nas portas do arduino teremos :
Arduino            Utilização
D13                    Led Builtin
D0         Chave de comando
 */

// Definindo onde nossas coisas estão conectadas
int tecla = 0;            // D0 - Está ligado a Tecla
int led = 13;                // D13 - Está ligado nosso led bultin
int letcla = 1;            //aqui será lido o estado da tecla
// ou poderia ser        const int led = LED_BUILTIN;    // é o número da porta do led : D13 ou IO13

// Esta rotina roda apenas uma vez na inicialização :
void setup() {
    pinMode(tecla, INPUT);         // definindo a porta de leitura da tecla como entrada
    pinMode(led, OUTPUT);     // definindo a porta do led como saída
    digitalWrite(led,LOW);        //apagando o led inicialmente
}
// Loop eterno:
void loop() {
    letcla = digitalRead(tecla);             // lembre-se : 0=botão pressionado, 1=botão solto

    if(letcla == 0) {                         // lendo a chave : 0=pressionada
        digitalWrite(led,HIGH);            // acendendo o led
    }
    else {                                            // diferente de zero : tecla liberada
}

    digitalWrite(led,LOW);                //apagando o led
    delay(100);                             // Aguardar 100 ms

}


Funcionamento :

Se a tecla estiver liberada na porta D0 leremos HIGH e com isto apagaremos o led.
Ao pressionar a tecla leremos na porta D0 LOW e ai acendemos o led.
Não me preocupei neste momento com o debounce da tecla porque neste projeto não é critico.